package Matrix_Pkg is
   type Matrix is array (Integer range<>, Integer range<>) of Integer;

   procedure Fill_Value(value: in Integer; m: in out Matrix);

   function "+"(M1 : Matrix; M2 : Matrix) return Matrix;
   function "*"(S : Integer; M: Matrix) return Matrix;
   function "*"(M1: Matrix; M2: Matrix) return Matrix;
   
   procedure Write(M : in Matrix);
   
   type Matrix_Declaration is record
      N : Integer;
      M : Integer;
   end record;
   
   function Get_Declaration(M: Matrix) return Matrix_Declaration;

end Matrix_Pkg;

